﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Administrador_Compras_nova_compra : System.Web.UI.Page {

    PetShopService.PedidoServico pedidoServices = new PetShopService.PedidoServico();
    PetShopService.ProdutoServicos produtoServices = new PetShopService.ProdutoServicos();
    PetShopService.CompraServicos compraServices = new PetShopService.CompraServicos();
    PetShopService.UsuarioServicos oUsuarioServicos = new PetShopService.UsuarioServicos();

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!oUsuarioServicos.isUsuarioAdministrador())
            Response.Redirect("~/default.aspx");

        if (IsPostBack)
            return;

        itensCompraGridView.DataSource = pedidoServices.produtosCompra;
        itensCompraGridView.DataBind();
    }

    protected void btnCarregar_Click(object sender, EventArgs e) {

        PetShopService.Produto oProduto = produtoServices.RetornaProduto(Convert.ToInt32(txtId.Text));
        if (oProduto == null)
            return;

        txtDescricao.Text = oProduto.Nome;
        txtPreco.Text = oProduto.Preco.ToString();
        txtQuantidade.Text = "1";
    }
    
    protected void btnAdicionar_Click(object sender, EventArgs e) {

        PetShopService.ProdutoCarrinho oProduto = new PetShopService.ProdutoCarrinho();
        oProduto.idProduto   = Convert.ToInt32(txtId.Text);
        oProduto.quantidade  = Convert.ToInt32(txtQuantidade.Text);
        oProduto.nomeProduto = txtDescricao.Text;
        oProduto.preco = Convert.ToDecimal(txtPreco.Text);

        if (pedidoServices.produtosCompra != null)
        {
            PetShopService.ProdutoCarrinho produtoCarrinho = pedidoServices.produtosCompra.SingleOrDefault(p => p.idProduto == oProduto.idProduto);
            if (produtoCarrinho != null)
                produtoCarrinho.quantidade = produtoCarrinho.quantidade + oProduto.quantidade;
            else
                pedidoServices.produtosCompra.Add(oProduto);
        }
        else
        {
            List<PetShopService.ProdutoCarrinho> listaProdutoCarriho = new List<PetShopService.ProdutoCarrinho>();
            listaProdutoCarriho.Add(oProduto);
            pedidoServices.produtosCompra = listaProdutoCarriho;
        }

        itensCompraGridView.DataSource = pedidoServices.produtosCompra;
        itensCompraGridView.DataBind();
    }

    protected void btnFinalizar_Click(object sender, EventArgs e) {
        
        if (pedidoServices.produtosCompra == null){
            lblResposta.Text = "Nehum item foi adicionado a compra";
            return;
        }
        
        compraServices.SalvarCompra();
        pedidoServices.produtosCompra = null;
        Response.Redirect("~/default.aspx");
    }
}